import requests

"""启动llama服务：
 示例一：llama-server.exe -m D:/ideaSpace/MyPython/models/TinyLlama-1.1B-Chat-v1.0-GGUF/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf --port 8080
 示例二：llama-server.exe -m D:/ideaSpace/MyPython/models/qwen/qwen1.5-1.8b-chat-q4_0.gguf --port 8080
"""

# 强化中文指令和格式控制
strict_prompt = """<|im_start|>system
你是一个专业AI助手，必须用中文回答NLP相关问题<|im_end|>
<|im_start|>user
请严格用中文解释NLP领域的"检索增强生成"（RAG）技术原理，要求：
1. 分检索和生成两阶段说明
2. 每阶段不超过2句话
3. 最后举一个实际应用例子<|im_end|>
<|im_start|>assistant
"""

response = requests.post(
    "http://localhost:8080/completion",
    json={
        "prompt": strict_prompt,
        "n_predict": 200,
        "temperature": 0.1,  # 降低随机性
        "stop": ["<|im_end|>", "\n\n"],
        "repeat_penalty": 1.2  # 减少重复
    }
)

# 后处理清除技术术语混淆
answer = response.json()["content"]
answer = answer.replace("Recurrent Attention Graph", "").strip()
print(answer)